package com.me.study.factoryBean;

import org.springframework.beans.factory.FactoryBean;
import org.springframework.stereotype.Component;

/**
 * spring FactoryBean： 如果一个 bean 的创建过程中涉及到很多其他的 bean 和复杂的逻辑，可以考虑用 FactoryBean。<p>
 * 比如：一个 bean 需要创建动态代理类时，可以使用 工厂bean 生成动态代理对象。<p></p>
 *
 * @author ME
 * @date   2019/12/29
 */
@Component
public class TestFactoryBean implements FactoryBean<Car> {

	@Override
	public Car getObject() throws Exception {
		return new Car("Mercedes-Benz");
	}

	@Override
	public Class<?> getObjectType() {
		return Car.class;
	}
}
